package com.asset.salesforce.form;

import javax.validation.constraints.Digits;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Pattern;

import org.hibernate.validator.constraints.Email;
import org.hibernate.validator.constraints.NotEmpty;
import org.hibernate.validator.constraints.Range;
import org.springframework.format.annotation.NumberFormat;
import org.springframework.format.annotation.NumberFormat.Style;

import com.asset.salesforce.validator.ExcelFileValidator;

public class LeadForm {
	private Integer leadId;
	private String ownerName;
	private Integer ownerId;
	@NotEmpty()
	//@Pattern(regexp="^$|[a-zA-Z]+\\.?")
	private String fName;
	//@NotEmpty()
	//@Pattern(regexp="^$|[a-zA-Z]+\\.?")
	private String lName;
	@NotEmpty()
	//@Pattern(regexp="^$|[a-zA-Z]+\\.?")
	private String companyName;
	//@NotEmpty(message="Please choose lead Status.")
	private Integer leadStatus;

	private String title;
	@Pattern(regexp="^$|^[0-9]*$")
	private String phone;
	@Pattern(regexp="^$|^[0-9]*$")
	private String mobile;
	//@NotEmpty()
	@Email()
	private String email;
	private Integer rating;
	private String street;
	private Integer country;
	private String state;
	@Pattern(regexp="^$|^[0-9]*$")
	private String zipCode;
	private Integer city;
	//@Pattern(regexp="[^$|[A-Za-z0-9](([_\\.\\-]?[a-zA-Z0-9]+)*)@([A-Za-z0-9]+)(([\\.\\-]?[a-zA-Z0-9]+)*)\\.([A-Za-z]{2,})",message="This website format is wrong")
	@Pattern(regexp="^$|\\(?\\b(http://|www[.])[-A-Za-z0-9+&@#/%?=~_()|!:,.;]*[-A-Za-z0-9+&@#/%=~_()|]")
	private String website;
	//@Digits(message="Employee number must be entered in digits.", fraction = 0, integer = 100000)
	//@NumberFormat
//	@Digits(integer=100000000, fraction = 0, message="Employee number must be entered in digits.")
//	@Range(message="Employee number must be from to.", min=1, max=10000 )
	//@NotNull
	@Digits(integer=100000000, fraction = 0)
	@Range(min=1, max=10000 )
	private Integer empNum;
	//@Digits(message="Annual Revenue must be entered in digits.", fraction = 0, integer = 100000)
	//@NumberFormat
	//@NotNull()
	@Digits(fraction = 0, integer = 100000)
	@NumberFormat(style=Style.NUMBER)
	private Integer annualRevenue;
	private String description;
	private String leadSource;
	private Integer industryId;
	private String industry;
	private Boolean isFollowedByThtUser;
	private Boolean isDeleted;
	private Boolean isConverted;
	private String inOutBound;
	//@Digits(integer=100000000, fraction = 0)
	//@Range(min=1, max=10000 )
	private String carsNum;
	private String category;
	
		public Integer getLeadStatus() {
		return leadStatus;
	}
	public void setLeadStatus(Integer leadStatus) {
		this.leadStatus = leadStatus;
	}
	public Integer getLeadId() {
		return leadId;
	}
	public void setLeadId(Integer leadId) {
		this.leadId = leadId;
	}
	public String getOwnerName() {
		return ownerName;
	}
	public void setOwnerName(String ownerName) {
		this.ownerName = ownerName;
	}
	public Integer getOwnerId() {
		return ownerId;
	}
	public void setOwnerId(Integer ownerId) {
		this.ownerId = ownerId;
	}
	public String getCompanyName() {
		return companyName;
	}
	public void setCompanyName(String companyName) {
		this.companyName = companyName;
	}
	/**
	 * @return the isFollowedByThtUser
	 */
	public Boolean getIsFollowedByThtUser() {
		return isFollowedByThtUser;
	}
	/**
	 * @param isFollowedByThtUser the isFollowedByThtUser to set
	 */
	public void setIsFollowedByThtUser(Boolean isFollowedByThtUser) {
		this.isFollowedByThtUser = isFollowedByThtUser;
	}
	/**
	 * @return the isDeleted
	 */
	
	public Boolean getIsDeleted() {
		return isDeleted;
	}
	/**
	 * @param isDeleted the isDeleted to set
	 */
	public void setIsDeleted(Boolean isDeleted) {
		this.isDeleted = isDeleted;
	}
	/**
	 * @return the isConverted
	 */
	public Boolean getIsConverted() {
		return isConverted;
	}
	/**
	 * @param isConverted the isConverted to set
	 */
	public void setIsConverted(Boolean isConverted) {
		this.isConverted = isConverted;
	}
	public String getfName() {
		return fName;
	}
	public void setfName(String fName) {
		this.fName = fName;
	}
	public String getlName() {
		return lName;
	}
	public void setlName(String lName) {
		this.lName = lName;
	}
	public String getTitle() {
		return title;
	}
	public void setTitle(String title) {
		this.title = title;
	}
	public String getPhone() {
		return phone;
	}
	public void setPhone(String phone) {
		this.phone = phone;
	}
	public String getEmail() {
		return email;
	}
	public void setEmail(String email) {
		this.email = email;
	}
	public Integer getRating() {
		return rating;
	}
	public void setRating(Integer rating) {
		this.rating = rating;
	}
	public String getStreet() {
		return street;
	}
	public void setStreet(String street) {
		this.street = street;
	}
	public Integer getCountry() {
		return country;
	}
	public void setCountry(Integer country) {
		this.country = country;
	}
	public String getState() {
		return state;
	}
	public void setState(String state) {
		this.state = state;
	}
	public String getZipCode() {
		return zipCode;
	}
	public void setZipCode(String zipCode) {
		this.zipCode = zipCode;
	}
	public Integer getCity() {
		return city;
	}
	public void setCity(Integer city) {
		this.city = city;
	}
	public String getWebsite() {
		return website;
	}
	public void setWebsite(String website) {
		this.website = website;
	}
	public Integer getEmpNum() {
		return empNum;
	}
	public void setEmpNum(Integer empNum) {
		this.empNum = empNum;
	}
	public Integer getAnnualRevenue() {
		return annualRevenue;
	}
	public void setAnnualRevenue(Integer annualRevenue) {
		this.annualRevenue = annualRevenue;
	}
	public String getDescription() {
		return description;
	}
	public void setDescription(String description) {
		this.description = description;
	}
	public String getLeadSource() {
		return leadSource;
	}
	public void setLeadSource(String leadSource) {
		this.leadSource = leadSource;
	}
	public Integer getIndustryId() {
		return industryId;
	}
	public void setIndustryId(Integer industryId) {
		this.industryId = industryId;
	}
	public String getInOutBound() {
		return inOutBound;
	}
	public void setInOutBound(String inOutBound) {
		this.inOutBound = inOutBound;
	}
	public String getCarsNum() {
		return carsNum;
	}
	public void setCarsNum(String carsNum) {
		this.carsNum = carsNum;
	}
	public String getCategory() {
		return category;
	}
	public void setCategory(String category) {
		this.category = category;
	}
	/**
	 * @return the mobile
	 */
	public String getMobile() {
		return mobile;
	}
	/**
	 * @param mobile the mobile to set
	 */
	public void setMobile(String mobile) {
		this.mobile = mobile;
	}
	/**
	 * 
	 * @return
	 */
	public String getIndustry() {
		return industry;
	}
	/**
	 * 
	 * @param industry
	 */
	public void setIndustry(String industry) {
		this.industry = industry;
	}
	
}
